package com.ctshk.rpc.system.entity;

import java.math.BigDecimal;
import java.time.LocalDate;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ctshk.common.model.BaseEntity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 供应商成本项
 * </p>
 *
 * @author 张志朋
 * @since 2021-02-05
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "t_sys_supplier_cost_item",autoResultMap = true)
@ApiModel(value="SysSupplierCostItem对象", description="供应商成本项")
public class SysSupplierCostItem extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "所属供应商")
    private Long supplierId;

    @ApiModelProperty(value = "供应商成本项主数据")
    private Long costItemId;

    @ApiModelProperty(value = "供应商成本项")
    private String costItem;

    @ApiModelProperty(value = "供应商联系人")
    private String contactName;

    @ApiModelProperty(value = "联系电话区号")
    private String contactAreaCode;

    @ApiModelProperty(value = "联系电话")
    private String contactMobile;

    @ApiModelProperty(value = "银行名称")
    private String bankName;

    @ApiModelProperty(value = "银行卡号")
    private String bankCard;

    @ApiModelProperty(value = "财务联系人")
    private String financeContactName;

    @ApiModelProperty(value = "财务联系电话")
    private String financeContactMobile;

    @ApiModelProperty(value = "财务邮箱")
    private String financeContactEmail;

    @ApiModelProperty(value = "业务邮箱地址")
    private String businessEmail;

    @ApiModelProperty(value = "供应商传真")
    private String contactFax;

    @ApiModelProperty(value = "合同文件")
    private String contractFile;

    @ApiModelProperty(value = "其他文件")
    private String otherFile;

//    @ApiModelProperty(value = "结算币种JSON")
//    @TableField(typeHandler = FastjsonTypeHandler.class)
//    private String currencyJson;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "结算周期")
    private Integer settlementPeriod;

    @ApiModelProperty(value = "结算周期类型(	1 按天结算	2 按周结算	3 按月结算)")
    private Integer settlementPeriodType;

    @ApiModelProperty(value = "付款方式 1:挂账;2:预付")
    private Integer payMethod;

    @ApiModelProperty(value = "结算币种类型")
    private String settlementCurrency;

    @ApiModelProperty(value = "合作有效期类型(1 有时间限制	2 长期)")
    private Integer cooperationValidityType;

    @ApiModelProperty(value = "合作开始时间")
    private LocalDate cooperationDateBegin;

    @ApiModelProperty(value = "合作结束时间")
    private LocalDate cooperationDateEnd;

    @ApiModelProperty(value = "创建人")
    private Long createId;

    @ApiModelProperty(value = "修改人")
    private Long modifiedId;

    @ApiModelProperty(value = "删除标识")
    private Integer isDeleted;

    @ApiModelProperty(value = "币种ID")
    private Long currencyId;

    @ApiModelProperty(value = "币种")
    private String currency;

    @ApiModelProperty(value = "汇率")
    private BigDecimal exchangeRate;
    
    @TableField(exist = false)
    @ApiModelProperty(value = "所属部门的主键")
    private Long supplierCostItemDepartmentId;
    
    @TableField(exist = false)
    @ApiModelProperty(value = "所属部门Id")
    private Long departmentId;
    
    @TableField(exist = false)
    @ApiModelProperty(value = "部门名称")
    private String departmentName;

}
